<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //一、 默认参数
      // ES5
      // function fn(a,b){
      //     // console.log(a,b);
      //     // 默认参数
      //     var a = a || 1;
      //     var b = b || 2;
      //     console.log(a,b);
      // }
      // fn(3,4)

      // ES6 默认参数
      //   function fn(a = 1, b = 2) {
      //     console.log(a, b);
      //   }

      //   fn(4, 5);

      // 二、对象的更新；
      //   let name = "张三";
      //   let age = 21;
      //   let obj = {
      //     name: name,
      //     age: age,
      //     fn: function () {
      //       console.log("fn");
      //     },
      //   };

      // 1.对象的声明方式；对象的键名和键值相同的时候可以简写一个；
      //   let obj = {
      //     name,
      //     age,
      //     fn: function () {
      //       console.log("fn");
      //     },
      //   };
      //   console.log(obj);
      // 2.对于动态的键名处理
      //   let myname = "name";
      //   let obj = {
      //     [myname]: "张三",
      //     age: 20,
      //   };

      //   console.log(obj);

      // 3.对象函数声明更新
      let name = "张三";
      let age = 21;
      let obj = {
        name,
        age,
        fn() {
          console.log("fn");
        },
        myfn() {
          console.log("myfn");
        },
        fn2: function () {
          console.log("fn2");
        },
      };
      console.log(obj);
      obj.fn();
      obj.myfn();
      obj.fn2();
    </script>
  </body>
</html>
